package com.wicket.okrapp.biz.service.dto.req;

import com.wicket.okrapp.base.service.dto.common.VirtualOrgMemberDto;
import com.wicket.okrapp.common.dto.BaseDto;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.validation.constraints.NotNull;
import lombok.Data;
import com.wicket.okrapp.biz.service.dto.common.EntityIdDto;
import com.wicket.okrapp.biz.service.dto.common.SubTargetContentDto;
import com.wicket.okrapp.biz.service.dto.common.CycleDto;
import com.wicket.okrapp.biz.service.dto.common.AchievementDockingDto;
import com.wicket.okrapp.biz.service.dto.common.EvaObjTargetCycleDto;
import com.wicket.okrapp.biz.service.dto.common.ExecuteCycleStageDto;
import com.wicket.okrapp.biz.service.dto.common.CopywritingDto;
import com.wicket.okrapp.biz.service.dto.common.TaskCategoriesThemeDto;

/**
 * @desc ImplementEightReceivingFieldReqDto
 * @使用场景
 */
@Data
public class ImplementEightReceivingFieldReqDto
  extends BaseDto
  implements Serializable {

  /**
   * 自定义字段1
   */
  @NotNull(message = "自定义字段1不能为空")
  @ApiModelProperty("自定义字段1")
  private String customField1;

  /**
   * 自定义字段2
   */
  @NotNull(message = "自定义字段2不能为空")
  @ApiModelProperty("自定义字段2")
  private String customField2;
/**
     * 是否系统对接 TRUE:是 FALSE:否
     */
    @NotNull(message = "是否系统对接不能为空")
@ApiModelProperty("是否系统对接")
    private String	 isSystemDocking;
/**
     * 通用数值字段（小数型） 
     */
    @NotNull(message = "通用数值字段（小数型）不能为空")
@ApiModelProperty("通用数值字段（小数型）")
    private Double	 comFloatField;
/**
     * OKR树实际值计算公式 SYSTEM_DOCKING:系统对接实际值 MANUAL_REPORT:人工填报实际值 RIGHTWARD_CALCULATION:向左取最近可循环周期最新 RIGHTWARD_CALCULATION_SUM:向左取最近可循环周期求和
     */
    @NotNull(message = "OKR树实际值计算公式不能为空")
@ApiModelProperty("OKR树实际值计算公式")
    private String	 okrActualValueCalcFormula;
/**
     * OKR树目标得分计算公式 CALC:自己计算得分 OKR_DEPT_CLONE_PERSONAL_SCORE:OKR部门克隆个人树得分
     */
    @NotNull(message = "OKR树目标得分计算公式不能为空")
@ApiModelProperty("OKR树目标得分计算公式")
    private String	 okrTreeTargetScoreFormula;

    /**
     * OKR树目标得分本级与下级组合变量 RANK_CALC:计算本级得分 DOWN_CALC:计算下级得分
     */
    @ApiModelProperty("OKR树目标得分本级与下级组合变量")
    private String	 okrTreeTargetScoreClassAndSubVariate;

    /**
     * OKR树得分主客观变量 SUBJECTIVE:主观得分 OBJECTIVE:客观得分 SUBJECTIVE_AND_OBJECTIVE:主观得分+客观得分
     */
    @ApiModelProperty("OKR树得分主客观变量")
    private String	 okrTreeScoreSubAndObjVariable;
/**
     * 目标得分_本级过程得分权重 
     */
    @NotNull(message = "目标得分_本级过程得分权重不能为空")
@ApiModelProperty("目标得分_本级过程得分权重")
    private Double	 actualScoreLocalLevelWeight;

    /**
     * 目标得分_下级目标得分权重 
     */
    @NotNull(message = "目标得分_下级目标得分权重不能为空")
@ApiModelProperty("目标得分_下级目标得分权重")
    private Double	 actualScoreLowerLevelWeight;
/**
     * 其他树进度值 
     */
    @NotNull(message = "其他树进度值不能为空")
@ApiModelProperty("其他树进度值")
    private Double	 otherProgressValue;
/**
     * 其他树实际值 
     */
    @NotNull(message = "其他树实际值不能为空")
@ApiModelProperty("其他树实际值")
    private Double	 otherActualValue;
/**
     * 其他树目标得分 
     */
    @NotNull(message = "其他树目标得分不能为空")
@ApiModelProperty("其他树目标得分")
    private Double	 otherTargetScore;

    /**
     * 其他树达成度 
     */
    @NotNull(message = "其他树达成度不能为空")
@ApiModelProperty("其他树达成度")
    private Double	 otherReach;
/**
     * 主树实际值计算公式标识 
     */
    @ApiModelProperty("主树实际值计算公式标识")
    private String	 evaActualCalcCode;

    /**
     * 主树目标得分计算公式标识 
     */
    @ApiModelProperty("主树目标得分计算公式标识")
    private String	 evaReportScoreCalcCode;

    /**
     * 主树目标得分本级或下级变量 
     */
    @ApiModelProperty("主树目标得分本级或下级变量")
    private String	 rankOrDownCalc;

    /**
     * 主树目标得分主客观变量 SUBJECTIVE:主观得分 OBJECTIVE:客观得分 SUBJECTIVE_AND_OBJECTIVE:主观得分+客观得分
     */
    @ApiModelProperty("主树目标得分主客观变量")
    private String	 subAndObjModel;
/**
     * 其他树实际值计算公式标识 
     */
    @ApiModelProperty("其他树实际值计算公式标识")
    private String	 otherActualCalcCode;

    /**
     * 其他树目标得分计算公式标识 
     */
    @ApiModelProperty("其他树目标得分计算公式标识")
    private String	 otherReportScoreCalcCode;
/**
     * 目标归属周期ID 
     */
    @NotNull(message = "目标归属周期ID不能为空")
@ApiModelProperty("目标归属周期ID")
    private String	 targetAttributionCycleId;

    /**
     * 创建于空间ID 
     */
    @NotNull(message = "创建于空间ID不能为空")
@ApiModelProperty("创建于空间ID")
    private String	 spaceId;
/**
     * 父子中周期类型 PARENT_CYCLE:父周期 MID_CYCLE:中期 SUB_CYCLE:子周期 PROCESS_CYCLE:过程周期
     */
    @NotNull(message = "父子中周期类型不能为空")
@ApiModelProperty("父子中周期类型")
    private String	 parentSubMidCycleType;
/**
     * 数据是否准备完整 TRUE:是 FALSE:否
     */
    @NotNull(message = "数据是否准备完整不能为空")
@ApiModelProperty("数据是否准备完整")
    private String	 dataCompletePreparation;
@ApiModelProperty("身份人员去重后我下属小圈子列表 ")
List<String> identityDudepSubordinateChargeSmallCircleList = new ArrayList<>();
@ApiModelProperty("部门去重后虚拟成员部门列表 ")
List<String> deptDudepVirtualOrgMemberDeptList = new ArrayList<>();
@ApiModelProperty("主题内容去重后我相关的主题内容列表 ")
List<String> themeDudptMyRelateThemeConList = new ArrayList<>();
@ApiModelProperty("内容表主键列表")
private List<EntityIdDto> entityIdList = new ArrayList<>();
@ApiModelProperty("下级目标内容列表")
private List<SubTargetContentDto> subTargetContentList = new ArrayList<>();
@ApiModelProperty("虚拟组织成员列表 ")
List<VirtualOrgMemberDto> virtualOrgMemberList = new ArrayList<>();

    /**
     * 虚拟组织使用场景 TARGET_PLAN_SCENE:目标规划场景 WORK_TASK_SCENE:工作任务场景
     */
    @NotNull(message = "虚拟组织使用场景不能为空")
@ApiModelProperty("虚拟组织使用场景")
    private String	 useScene;

    /**
     * 归属对象ID 
     */
    @ApiModelProperty("归属对象ID")
    private String	 evaluationTemplateId;
/**
     * 通用时间字段 
     */
    @NotNull(message = "通用时间字段不能为空")
@ApiModelProperty("通用时间字段")
    private Date	 comTimeField;

    /**
     * 上一更新周期ID
     */
    @ApiModelProperty("上一更新周期ID")
    private String	 preUpdateCycleId;
/**
     * 上一归属周期ID 
     */
    @ApiModelProperty("上一归属周期ID")
    private String	 previousCycleId;

    /**
     * 归属周期ID 
     */
    @NotNull(message = "归属周期ID不能为空")
@ApiModelProperty("归属周期ID")
    private String	 cycleId;

    /**
     * 周期开始时间 
     */
    @NotNull(message = "周期开始时间不能为空")
@ApiModelProperty("周期开始时间")
    private Date	 cycleStartTime;

    /**
     * 周期结束时间 
     */
    @NotNull(message = "周期结束时间不能为空")
@ApiModelProperty("周期结束时间")
    private Date	 cycleEndTime;

    /**
     * 周期类型标识 
     */
    @NotNull(message = "周期类型标识不能为空")
@ApiModelProperty("周期类型标识")
    private String	 cycleTypeCode;

    /**
     * 周期类型实例标识 
     */
    @ApiModelProperty("周期类型实例标识")
    private String	 cycleTypeInstanceCode;

    /**
     * 更新周期ID 
     */
    @NotNull(message = "更新周期ID不能为空")
@ApiModelProperty("更新周期ID")
    private String	 updateCycleId;

    /**
     * 更新周期开始时间 
     */
    @NotNull(message = "更新周期开始时间不能为空")
@ApiModelProperty("更新周期开始时间")
    private Date	 updateCycleStartTime;

    /**
     * 更新周期结束时间 
     */
    @NotNull(message = "更新周期结束时间不能为空")
@ApiModelProperty("更新周期结束时间")
    private Date	 updateCycleEndTime;

    /**
     * 更新周期类型标识 
     */
    @NotNull(message = "更新周期类型标识不能为空")
@ApiModelProperty("更新周期类型标识")
    private String	 updateCycleTypeCode;
/**
     * 是否是平台 TRUE:是 FALSE:否
     */
    @NotNull(message = "是否是平台不能为空")
@ApiModelProperty("是否是平台")
    private String	 platformData;
/**
     * 部门ID
     */
    @NotNull(message = "部门ID不能为空")
@ApiModelProperty("部门ID")
    private String	 deptId;
@ApiModelProperty("目标内容列表 ")
List<String> targetContentList = new ArrayList<>();

@ApiModelProperty("指标列表 ")
List<String> targetObjList = new ArrayList<>();
/**
     * 被评对象类型编码 EVA_PORTRAIT:评价画像 EVA_OBJECT:评价对象 FLEVEL_OBJ_TASK_DUTY_DEPT:一级部门目标任务责任部门 OKR_SUBJECT_DEPT:OKR责任主体部门 OKR_SUBJECT_PERSONAL:OKR责任主体个人
     */
    @NotNull(message = "被评对象类型编码不能为空")
@ApiModelProperty("被评对象类型编码")
    private String	 evaObjTypeCode;

    /**
     * 末级周期类型 HALF_YEAR:半年 QUARTER:季度 DOUBLE_MONTHS:双月 MONTH:月 DOUBLE_WEEKS:双周 WEEK:周 DISABLE:不启用
     */
    @NotNull(message = "末级周期类型不能为空")
@ApiModelProperty("末级周期类型")
    private String	 lastCycleType;

    /**
     * 第二末级周期类型 HALF_YEAR:半年 QUARTER:季度 DOUBLE_MONTHS:双月 MONTH:月 DOUBLE_WEEKS:双周 WEEK:周 DISABLE:不启用
     */
    @ApiModelProperty("第二末级周期类型")
    private String	 secondLastCycleType;
/**
     * 周期ID
     */
    @NotNull(message = "周期ID不能为空")
@ApiModelProperty("周期ID")
    private String	 periodId;
/**
     * 归属内容表类型编码 EVA_TEMP:评价模板 TARGET:目标 TARGET_CATEGORY:目标分类 OBJECTIVE:指标 NOTICE:通知公告 ACHIEVEMENT:成果 TARGET_CYCLE_STAGE_DATA:目标周期阶段资料 WORK_TASK_CYCLE_STAGE_DATA:工作任务周期阶段资料 PLANNING:规划资料 TASK:任务 PROJECT:项目 PROBLEM:问题 OFFICIAL_DOCUMENT:公文 OMS_TEMPLATE_SEMANTIC_ENGINE:模板引擎 OMS_MESSAGE_VIRTUALIMAGE:虚拟形象 PERSONAL_AVATAR:个人头像 SPACE:空间 ROLE:角色 PRIVACY:权限 SCENE:场景 APPID:联盟应用
     */
    @ApiModelProperty("归属内容表类型编码")
    private String	 ownTableTypeCode;
/**
     * 身份人员ID
     */
    @NotNull(message = "身份人员ID不能为空")
@ApiModelProperty("身份人员ID")
    private String	 originalRoleMemberId;

    /**
     * 问题状态 QUESTIONABILITY:待解决 RESOLVED:已解决 OVERTIME:已超时 SHELVE:暂搁置 REJECTED:已拒绝 SUSPENDED:已挂起 CLOSED:已关闭
     */
    @NotNull(message = "问题状态不能为空")
@ApiModelProperty("问题状态")
    private String	 questionStatus;
/**
     * 任务进展状态 NOT_AT_THE:未开始 ONGOING:进行中 HAS_ENDED:已结束
     */
    @NotNull(message = "任务进展状态不能为空")
@ApiModelProperty("任务进展状态")
    private String	 taskStatus;
/**
     * 内容冗余状态 EDITING:草稿 TOBESIGN:待签收 ONGOING:进行中 FAILED:已失败 OVERDUE:逾期任务 NOT_AT_THE:未开始 UNCOMPLETED:未完成 COMPLETED:已完成 UNREPORTED:待汇报 EVA:评价中 AUDIT:审核中 EXPIRED:已逾期 SUCCESS:已成功 ENDED:已结束 UNLIMITED:不限 TOBEFILL:待填报 TOBEEVA:待评价
     */
    @NotNull(message = "内容冗余状态不能为空")
@ApiModelProperty("内容冗余状态")
    private String	 stateCode;
/**
     * 可选主管就职记录ID
     */
    @NotNull(message = "可选主管就职记录ID不能为空")
@ApiModelProperty("可选主管就职记录ID")
    private String	 directorInductionRecordId;
/**
     * 是否负责人 TRUE:是 FALSE:否
     */
    @ApiModelProperty("是否负责人")
    private String	 isPersonCharge;

    /**
     * 冗余内容表类型编码 ORG_OR_DEPT:组织或部门 INTELLIGENT_HARDWARE_EQUIPMENT:智能硬件设备 OMS_TARGET_CYCLE:目标周期表 OMS_EVALUATION_OBJECT_TARGET_CYCLE:被评对象目标周期表 OMS_TARGET:目标表 OMS_TARGET_CATEGORY:目标分类表 OMS_TARGET_OBJECTIVE:指标表 OMS_TASK:任务表 OMS_ORG_INDUCTION_RECORD:就职记录表 OMS_FRAMEWORK_ORIGINAL_ROLE_MEMBER:身份人员表 OMS_ORG_DEPT:部门表 OMS_BASE_HOST:宿主表 OMS_FRAMEWORK_SPACE:空间表 OMS_TSPE_CYCLE_STAGE_DATA:周期阶段资料记录 OMS_EVALUATION_TEMPLATE:评价模板 OMS_EVALUATION_PORTRAIT:评价画像表 OMS_ORG_POSITION:职务表 OMS_VIRTUAL_ORG_MEMBER:虚拟组织成员表 OMS_PLANNING:规划资料表 OMS_FRAMEWORK_USERS:个人账号表 OMS_EXECUTE_CYCLE_STAGE:执行周期阶段表 OMS_CONF_SCHEME:配置方案表 OMS_EVA_OBJ_TARGET_CYCLE_OSET:被评对象目标周期目标设置表 OMS_EVA_OBJ_TARGET_CYCLE_WEIGHT_SET:被评对象目标周期权重设置表 OMS_NOTICE:通知公告表 OMS_CYCLE:周期表 OMS_EVALUATION_SUBJECT:评价主题表 OMS_BIZ_APP_BATCH:业务应用批次表 OMS_EVA_BATCH_RELATED_SET:评价模板批次相关设置表 OMS_TARGET_CYCLE_PLAN_SET:目标周期规划设置表 OMS_TARGET_OBJECTIVE_PLAN_EXTEND:指标扩展规划设置表 OMS_MESSAGE_CHANNEL:通道表 OMS_ORG_ORGANIZATION:组织表 OMS_PROJECT:项目表 OMS_ORG_DEPT:部门表 OMS_QUESTION:问题表 OMS_OFFICIAL_DOCUMENT:公文表 OMS_VIRTUAL_ORG:虚拟组织表 OMS_MESSAGE:消息表 OMS_MESSAGE_LOCATION:消息位置表 OMS_MESSAGE_MEMBER:成员接收消息表 OMS_MESSAGE_MEMBER_CHANNEL_RELATION:成员通道关系表 OMS_FRAMEWORK_SPACE_MEMBER:成员表
     */
    @ApiModelProperty("冗余内容表类型编码")
    private String	 tableTypeCode;
@ApiModelProperty("周期列表")
private List<CycleDto> cycleList = new ArrayList<>();
/**
     * 虚拟组织成员就职记录ID 
     */
    @ApiModelProperty("虚拟组织成员就职记录ID")
    private String	 virtualOrgInductionRecordId;

    /**
     * 角色标识 
     */
    @ApiModelProperty("角色标识")
    private String	 roleCode;

    /**
     * 业务操作类型编码 EVA_REPORT_TAST:汇报任务评价主身份 EVA_REPORT_TAST_SECONDARY:汇报任务评价辅身份 QUESTION_SOLVER:问题解决人 REPORT_UP:向上汇报 FILL_MAIN_IDENTITY:填报任务主身份 EVA_MAIN_IDENTITY:评价任务主身份
     */
    @ApiModelProperty("业务操作类型编码")
    private String	 businessOperationTypeCode;
/**
     * 任务ID 
     */
    @NotNull(message = "任务ID不能为空")
@ApiModelProperty("任务ID")
    private String	 taskId;
/**
     * 关注主体ID 
     */
    @NotNull(message = "关注主体ID不能为空")
@ApiModelProperty("关注主体ID")
    private String	 focusObjectId;
/**
     * 统计数 
     */
    @NotNull(message = "统计数不能为空")
@ApiModelProperty("统计数")
    private Long	 calcCount;

@ApiModelProperty("对接成果关系列表")
private List<AchievementDockingDto> achievementDockingList = new ArrayList<>();
/**
     * 被评对象目标周期ID 
     */
    @ApiModelProperty("被评对象目标周期ID")
    private String	 evaObjTargetCycleId;
/**
     * 是否末级周期 TRUE:是 FALSE:否
     */
    @NotNull(message = "是否末级周期不能为空")
@ApiModelProperty("是否末级周期")
    private String	 isLastCycle;
@ApiModelProperty("成果列表 ")
List<String> achievementList = new ArrayList<>();
/**
     * 是否父周期 TRUE:是 FALSE:否
     */
    @ApiModelProperty("是否父周期")
    private String	 isParentCycle;

    /**
     * 是否中期 TRUE:是 FALSE:否
     */
    @ApiModelProperty("是否中期")
    private String	 isMetaphase;

    /**
     * 是否子周期 TRUE:是 FALSE:否
     */
    @ApiModelProperty("是否子周期")
    private String	 isSubCycle;
/**
     * 被评对象内容表主键ID 
     */
    @ApiModelProperty("被评对象内容表主键ID")
    private String	 evaObjEntityId;

    /**
     * 上级被评对象目标周期标识 
     */
    @ApiModelProperty("上级被评对象目标周期标识")
    private String	 parentEvaObjTargetCycleId;
/**
     * 业绩责任部门ID 
     */
    @ApiModelProperty("业绩责任部门ID")
    private String	 dutyDeptId;
/**
     * 版权归属对象ID 
     */
    @ApiModelProperty("版权归属对象ID")
    private String	 copyrightObjectId;
/**
     * 自定义字段3 
     */
    @NotNull(message = "自定义字段3不能为空")
@ApiModelProperty("自定义字段3")
    private String	 customField3;
/**
     * 看板名称 
     */
    @NotNull(message = "看板名称不能为空")
@ApiModelProperty("看板名称")
    private String	 spectacularName;

    /**
     * 周期名称 
     */
    @NotNull(message = "周期名称不能为空")
@ApiModelProperty("周期名称")
    private String	 cycleStandardName;
/**
     * 是否过程周期阶段 TRUE:是 FALSE:否
     */
    @ApiModelProperty("是否过程周期阶段")
    private String	 isProcessCycleStage;
@ApiModelProperty("被评对象目标周期列表")
private List<EvaObjTargetCycleDto> evaObjTargetCycleList = new ArrayList<>();
/**
     * 是否工作周期数据 TRUE:是 FALSE:否
     */
    @NotNull(message = "是否工作周期数据不能为空")
@ApiModelProperty("是否工作周期数据")
    private String	 isWorkCycleData;
/**
     * 子周期计算模型ID 
     */
    @NotNull(message = "子周期计算模型ID不能为空")
@ApiModelProperty("子周期计算模型ID")
    private String	 subCycleCalcModelId;
/**
     * 中期计算模型ID 
     */
    @NotNull(message = "中期计算模型ID不能为空")
@ApiModelProperty("中期计算模型ID")
    private String	 midCycleCalcModelId;
/**
     * 父周期计算模型ID 
     */
    @NotNull(message = "父周期计算模型ID不能为空")
@ApiModelProperty("父周期计算模型ID")
    private String	 parentCycleCalcModelId;
/**
     * 绩效权重设置对象 EVA_PORTRAIT:评价画像 EVA_OBJECT:评价对象
     */
    @NotNull(message = "绩效权重设置对象不能为空")
@ApiModelProperty("绩效权重设置对象")
    private String	 performanceWeightSettingObject;

    /**
     * 执行周期阶段ID 
     */
    @NotNull(message = "执行周期阶段ID不能为空")
@ApiModelProperty("执行周期阶段ID")
    private String	 executeCycleStageId;

    /**
     * 上一执行周期阶段ID 
     */
    @ApiModelProperty("上一执行周期阶段ID")
    private String	 lastExecuteCycleStageId;

    /**
     * 归属周期排序 
     */
    @NotNull(message = "归属周期排序不能为空")
@ApiModelProperty("归属周期排序")
    private Long	 orderNumber;

    /**
     * 目标周期ID 
     */
    @NotNull(message = "目标周期ID不能为空")
@ApiModelProperty("目标周期ID")
    private String	 targetCycleId;

    /**
     * 目标周期类型标识 
     */
    @NotNull(message = "目标周期类型标识不能为空")
@ApiModelProperty("目标周期类型标识")
    private String	 targetCycleTypeCode;

    /**
     * 目标周期类型实例标识 
     */
    @ApiModelProperty("目标周期类型实例标识")
    private String	 targetCycleTypeInstanceCode;

    /**
     * 最近可循环周期类型编码 
     */
    @ApiModelProperty("最近可循环周期类型编码")
    private String	 nextCyclePeriod;

    /**
     * 被评对象内容表类型编码 ORG_OR_DEPT:组织或部门 INTELLIGENT_HARDWARE_EQUIPMENT:智能硬件设备 OMS_TARGET_CYCLE:目标周期表 OMS_EVALUATION_OBJECT_TARGET_CYCLE:被评对象目标周期表 OMS_TARGET:目标表 OMS_TARGET_CATEGORY:目标分类表 OMS_TARGET_OBJECTIVE:指标表 OMS_TASK:任务表 OMS_ORG_INDUCTION_RECORD:就职记录表 OMS_FRAMEWORK_ORIGINAL_ROLE_MEMBER:身份人员表 OMS_ORG_DEPT:部门表 OMS_BASE_HOST:宿主表 OMS_FRAMEWORK_SPACE:空间表 OMS_TSPE_CYCLE_STAGE_DATA:周期阶段资料记录 OMS_EVALUATION_TEMPLATE:评价模板 OMS_EVALUATION_PORTRAIT:评价画像表 OMS_ORG_POSITION:职务表 OMS_VIRTUAL_ORG_MEMBER:虚拟组织成员表 OMS_PLANNING:规划资料表 OMS_FRAMEWORK_USERS:个人账号表 OMS_EXECUTE_CYCLE_STAGE:执行周期阶段表 OMS_CONF_SCHEME:配置方案表 OMS_EVA_OBJ_TARGET_CYCLE_OSET:被评对象目标周期目标设置表 OMS_EVA_OBJ_TARGET_CYCLE_WEIGHT_SET:被评对象目标周期权重设置表 OMS_NOTICE:通知公告表 OMS_CYCLE:周期表 OMS_EVALUATION_SUBJECT:评价主题表 OMS_BIZ_APP_BATCH:业务应用批次表 OMS_EVA_BATCH_RELATED_SET:评价模板批次相关设置表 OMS_TARGET_CYCLE_PLAN_SET:目标周期规划设置表 OMS_TARGET_OBJECTIVE_PLAN_EXTEND:指标扩展规划设置表 OMS_MESSAGE_CHANNEL:通道表 OMS_ORG_ORGANIZATION:组织表 OMS_PROJECT:项目表 OMS_ORG_DEPT:部门表 OMS_QUESTION:问题表 OMS_OFFICIAL_DOCUMENT:公文表 OMS_VIRTUAL_ORG:虚拟组织表 OMS_MESSAGE:消息表 OMS_MESSAGE_LOCATION:消息位置表 OMS_MESSAGE_MEMBER:成员接收消息表 OMS_MESSAGE_MEMBER_CHANNEL_RELATION:成员通道关系表 OMS_FRAMEWORK_SPACE_MEMBER:成员表
     */
    @ApiModelProperty("被评对象内容表类型编码")
    private String	 evaObjTableTypeCode;

    /**
     * 被评对象目标周期标识 
     */
    @NotNull(message = "被评对象目标周期标识不能为空")
@ApiModelProperty("被评对象目标周期标识")
    private String	 evaObjTargetCycleCode;

    /**
     * 关联目标内容类型编码 TARGET:目标 TARGET_CATEGORY:目标分类 OBJECTIVE:指标
     */
    @NotNull(message = "关联目标内容类型编码不能为空")
@ApiModelProperty("关联目标内容类型编码")
    private String	 targetCycleContentTypeCode;

    /**
     * 关联目标内容ID 
     */
    @NotNull(message = "关联目标内容ID不能为空")
@ApiModelProperty("关联目标内容ID")
    private String	 targetCycleContentId;
/**
     * 周期模式类型编码 FATHER_SON_CYCLE:父子周期 SINGLE_CYCLE:单周期 IRREGULAR_CYCLE:不规则周期
     */
    @NotNull(message = "周期模式类型编码不能为空")
@ApiModelProperty("周期模式类型编码")
    private String	 periodicModeTypeCode;
/**
     * 目标计划开始时间
     */
    @NotNull(message = "目标计划开始时间不能为空")
@ApiModelProperty("目标计划开始时间")
    private Date	 targetCycleStartTime;

    /**
     * 目标计划结束时间
     */
    @NotNull(message = "目标计划结束时间不能为空")
@ApiModelProperty("目标计划结束时间")
    private Date	 targetCycleEndTime;
/**
     * 执行周期阶段的内容ID 
     */
    @NotNull(message = "执行周期阶段的内容ID不能为空")
@ApiModelProperty("执行周期阶段的内容ID")
    private String	 executeCycleTargetContentId;
/**
     * 目标周期简称 
     */
    @NotNull(message = "目标周期简称不能为空")
@ApiModelProperty("目标周期简称")
    private String	 cyclelAlias;

    /**
     * OKR目标属性 OBJECTIVES:目标O KEY_RESULTS:关键成果KR
     */
    @ApiModelProperty("OKR目标属性")
    private String	 indicatorKind;

    /**
     * 是否自定义OKR目标 TRUE:是 FALSE:否
     */
    @ApiModelProperty("是否自定义OKR目标")
    private String	 isCustomObjective;

    /**
     * 冗余目标ID 
     */
    @NotNull(message = "冗余目标ID不能为空")
@ApiModelProperty("冗余目标ID")
    private String	 targetId;

    /**
     * 相对上级排序 
     */
    @NotNull(message = "相对上级排序不能为空")
@ApiModelProperty("相对上级排序")
    private Long	 relativeOrderNumber;

    /**
     * 部门排序 
     */
    @ApiModelProperty("部门排序")
    private Long	 dutyBodyOrderNum;

    /**
     * 个人排序 
     */
    @ApiModelProperty("个人排序")
    private Long	 personalOrderNumber;

    /**
     * 权重排序 
     */
    @ApiModelProperty("权重排序")
    private Long	 weightOrderNumber;

    /**
     * 批次标识 
     */
    @NotNull(message = "批次标识不能为空")
@ApiModelProperty("批次标识")
    private String	 batchCode;
/**
     * 计算业务场景 EVA_PORTRAIT:评价画像 EVA_OBJECT:评价对象 FLEVEL_OBJ_TASK_DUTY_DEPT:一级部门目标任务责任部门 OKR_SUBJECT_DEPT:OKR责任主体部门 OKR_SUBJECT_PERSONAL:OKR责任主体个人
     */
    @NotNull(message = "计算业务场景不能为空")
@ApiModelProperty("计算业务场景")
    private String	 calcBusinessScence;
/**
     * 冗余评价对象ID
     */
    @ApiModelProperty("冗余评价对象ID")
    private String	 evaluationObjectId;

    /**
     * 树类型编码 PLAN_TREE:规划树 EVALUATION_TREE:评价树 DEP_OBJ_MIS_STA:部门目标任务书 DUTY_SUBJECT:OKR责任主体树
     */
    @NotNull(message = "树类型编码不能为空")
@ApiModelProperty("树类型编码")
    private String	 treeTypeCode;
/**
     * 主客观得分单位 
     */
    @NotNull(message = "主客观得分单位不能为空")
@ApiModelProperty("主客观得分单位")
    private String	 subjectiveScoreUnit;

    /**
     * 账户单位 TIMES:次 DOOR:门 PART:部 SET:套 INDIVIDUAL:个 YUAN:元 NNT:人 PIECE:篇 TERM:项 FEN:分 WAN_YUAN:万元 PERCENT:1111百分率 PORTION:份 %:%
     */
    @NotNull(message = "账户单位不能为空")
@ApiModelProperty("账户单位")
    private String	 accountUnit;
/**
     * 进度值（数值） 
     */
    @NotNull(message = "进度值（数值）不能为空")
@ApiModelProperty("进度值（数值）")
    private Double	 progressValue;
/**
     * 客观得分 
     */
    @NotNull(message = "客观得分不能为空")
@ApiModelProperty("客观得分")
    private Double	 objectiveScore;
/**
     * 自定义字段4 
     */
    @NotNull(message = "自定义字段4不能为空")
@ApiModelProperty("自定义字段4")
    private String	 customField4;
/**
     * 父周期类型 PARENT_CYCLE:父周期 MID_CYCLE:中期 SUB_CYCLE:子周期 PROCESS_CYCLE:过程周期
     */
    @ApiModelProperty("父周期类型")
    private String	 parentCycleType;

    /**
     * 中周期类型 PARENT_CYCLE:父周期 MID_CYCLE:中期 SUB_CYCLE:子周期 PROCESS_CYCLE:过程周期
     */
    @ApiModelProperty("中周期类型")
    private String	 midCycleType;

    /**
     * 子周期类型 PARENT_CYCLE:父周期 MID_CYCLE:中期 SUB_CYCLE:子周期 PROCESS_CYCLE:过程周期
     */
    @ApiModelProperty("子周期类型")
    private String	 subCycleType;

    /**
     * 过程周期类型 PARENT_CYCLE:父周期 MID_CYCLE:中期 SUB_CYCLE:子周期 PROCESS_CYCLE:过程周期
     */
    @ApiModelProperty("过程周期类型")
    private String	 processCycleType;
@ApiModelProperty("执行周期阶段列表")
private List<ExecuteCycleStageDto> executeCycleStageList = new ArrayList<>();
/**
     * 通用数值字段（整数型） 
     */
    @NotNull(message = "通用数值字段（整数型）不能为空")
@ApiModelProperty("通用数值字段（整数型）")
    private Long	 comNumField;
/**
     * 是否实际验收周期 TRUE:是 FALSE:否
     */
    @NotNull(message = "是否实际验收周期不能为空")
@ApiModelProperty("是否实际验收周期")
    private String	 isActualReceptionCycle;
/**
     * 是否计划验收周期 TRUE:是 FALSE:否
     */
    @NotNull(message = "是否计划验收周期不能为空")
@ApiModelProperty("是否计划验收周期")
    private String	 isPlanReceptionCycle;
@ApiModelProperty("身份人员小圈子列表 ")
List<String> originalRoleMemberInfoCicleList = new ArrayList<>();
/**
     * 是否末级指标 TRUE:是 FALSE:否
     */
    @ApiModelProperty("是否末级指标")
    private String	 isLastObjective;

    /**
     * 层级
     */
    @ApiModelProperty("层级")
    private Long	 levelNumber;
/**
     * 开启主客观评分周期类型 LAST_CYCLE:末级周期 UNLIMITED:不限
     */
    @NotNull(message = "开启主客观评分周期类型不能为空")
@ApiModelProperty("开启主客观评分周期类型")
    private String	 enableSubjectiveRatingCycleType;
/**
     * 目标内容编号
     */
    @ApiModelProperty("目标内容编号")
    private String	 targetContentNumber;
/**
     * 归属评价画像子周期根节点ID 
     */
    @NotNull(message = "归属评价画像子周期根节点ID不能为空")
@ApiModelProperty("归属评价画像子周期根节点ID")
    private String	 evaPortraitTargetSubCycleId;
/**
     * 冗余评价模板类型配置项 
     */
    @NotNull(message = "冗余评价模板类型配置项不能为空")
@ApiModelProperty("冗余评价模板类型配置项")
    private String	 evaluationTemplateTypeCode;
/**
     * 成果所属主体类型编码 DEPT_TARGET_ROOT:部门目标任务书根节点 PERFORMANCE_EVA_SUBJECT_ROOT:绩效评价对象根节点
     */
    @NotNull(message = "成果所属主体类型编码不能为空")
@ApiModelProperty("成果所属主体类型编码")
    private String	 achievementBelongBodyTypeCode;

    /**
     * 成果所属主体ID 
     */
    @NotNull(message = "成果所属主体ID不能为空")
@ApiModelProperty("成果所属主体ID")
    private String	 achievementBelongBodyId;
/**
     * 目标大屏更新周期周期类型 
     */
    @ApiModelProperty("目标大屏更新周期周期类型")
    private String	 targetUpdateCycleTypeCode;
/**
     * 是否使用独立配置更新周期类型 TRUE:是 FALSE:否
     */
    @NotNull(message = "是否使用独立配置更新周期类型不能为空")
@ApiModelProperty("是否使用独立配置更新周期类型")
    private String	 isUseIndependentConfigurationForUpdateCycleType;
/**
     * 是否有过程周期 TRUE:是 FALSE:否
     */
    @ApiModelProperty("是否有过程周期")
    private String	 isHaveProcessCycle;
@ApiModelProperty("文案列表")
private List<CopywritingDto> copywritingList = new ArrayList<>();
/**
     * 是否开启mini版标志性成果
     */
    @ApiModelProperty("是否开启mini版标志性成果")
    private String	 isOpenMiniAchiment;

    /**
     * 标志性成果展示类型 DISPLAY_TWO_TARGET_CATE:二级目标分类 DISPLAY_ONE_OBJECTIVE:一级指标
     */
    @ApiModelProperty("标志性成果展示类型")
    private String	 achievementsDisplayedType;
/**
     * 完成率算法类型 LOW_TARGET_CONTENT_STATIC:统计向下目标内容 ROOT_OBJECTIVE_STATIC:统计一级指标 LAST_OBJECTIVE_STATIC:统计末级指标
     */
    @ApiModelProperty("完成率算法类型")
    private String	 completionRateAlgorithmType;
/**
     * 成果汇报进度录入方式 
     */
    @NotNull(message = "成果汇报进度录入方式不能为空")
@ApiModelProperty("成果汇报进度录入方式")
    private String	 reportProgressEnterMethod;
/**
     * 标志性成果大屏展示版本 ACHIVE_MINI_VERSION:标志性成果mini版 ACHIVE_BASIC_VERSION:标志性成果基础版 ACHIVE_ADVANCED_VERSION:标志性成果高级版
     */
    @ApiModelProperty("标志性成果大屏展示版本")
    private String	 milestoneAchievementsDisplayVersion;

    /**
     * 标志性成果内容展示类型 DISPLAY_ONE_TARGET_CATE:一级目标分类 DISPLAY_CATE_TREE:目标分类树
     */
    @ApiModelProperty("标志性成果内容展示类型")
    private String	 achievementsConDisplayedType;
/**
     * 是否开启主管人工审核 TRUE:是 FALSE:否
     */
    @ApiModelProperty("是否开启主管人工审核")
    private String	 isOpenAudit;

    /**
     * 是否开启主观评价 TRUE:是 FALSE:否
     */
    @ApiModelProperty("是否开启主观评价")
    private String	 isSubjectiveScoring;
/**
     * 是否开启预算 TRUE:是 FALSE:否
     */
    @ApiModelProperty("是否开启预算")
    private String	 isOpenBudget;
/**
     * 问题数据类型 QUASI_PROBLEM_DATA:准问题数据 PROBLEM_DATA:问题数据 NORMAL_DATA:正常数据
     */
    @NotNull(message = "问题数据类型不能为空")
@ApiModelProperty("问题数据类型")
    private String	 questionDataTypeCode;

    /**
     * 是否历史问题数据 TRUE:是 FALSE:否
     */
    @ApiModelProperty("是否历史问题数据")
    private String	 isHistoryProblemData;
/**
     * 设问题数据状态操作类型编码 PRINCIPAL_REQUEST_MODIFY_DATA:负责人申请修正数据 PRINCIPAL_CANCEL_MODIFY_DATA:负责人撤销修正数据 PRINCIPAL_SET_TO_NORMAL_DATA:负责人设为正常数据 DIRECTOR_SET_TO_PROBLEM_DATA:主管设为问题数据 DIRECTOR_SET_TO_NORMAL_DATA:主管设为正常数据 DIRECTOR_AGREE_TO_MODIFY_DATA:主管同意修正数据 DIRECTOR_REJECT_TO_MODIFY_DATA:主管拒绝修正数据 OTHER_SET_TO_PROBLEM_DATA:相关人设为问题数据 OTHER_SET_TO_NORMAL_DATA:相关人设为正常数据
     */
    @NotNull(message = "设问题数据状态操作类型编码不能为空")
@ApiModelProperty("设问题数据状态操作类型编码")
    private String	 setReportTaskProblemDataType;

    /**
     * 周期阶段资料记录ID 
     */
    @NotNull(message = "周期阶段资料记录ID不能为空")
@ApiModelProperty("周期阶段资料记录ID")
    private String	 cycleStageDataId;
/**
     * 自定义字段5
     */
    @NotNull(message = "自定义字段5不能为空")
@ApiModelProperty("自定义字段5")
    private String	 customField5;

    /**
     * 自定义字段6
     */
    @NotNull(message = "自定义字段6不能为空")
@ApiModelProperty("自定义字段6")
    private String	 customField6;
/**
     * 问题发起人身份人员ID
     */
    @ApiModelProperty("问题发起人身份人员ID")
    private String	 problemDataOriginalRoleMemberId;
/**
     * 自定义字段7 
     */
    @NotNull(message = "自定义字段7不能为空")
@ApiModelProperty("自定义字段7")
    private String	 customField7;
/**
     * 是否开启资金使用率图表 TRUE:是 FALSE:否
     */
    @ApiModelProperty("是否开启资金使用率图表")
    private String	 isOpenCapitalUtilizationRate;
@ApiModelProperty("任务分类主题列表")
private List<TaskCategoriesThemeDto> taskCategoriesThemeList = new ArrayList<>();
/**
     * 部门汇报任务数算法类型 
     */
    @ApiModelProperty("部门汇报任务数算法类型")
    private String	 deptReportTaskAlgorithmType;
/**
     * 实际值（数值） 
     */
    @NotNull(message = "实际值（数值）不能为空")
@ApiModelProperty("实际值（数值）")
    private Double	 actualValue;
/**
     * 最近可循环最新周期ID 
     */
    @NotNull(message = "最近可循环最新周期ID不能为空")
@ApiModelProperty("最近可循环最新周期ID")
    private String	 recentlyNewCycleId;
/**
     * 高层导出规划数据开关
     */
    @ApiModelProperty("高层导出规划数据开关")
    private String	 highPlanningDataExport;

    /**
     * 高层导出汇报数据开关
     */
    @ApiModelProperty("高层导出汇报数据开关")
    private String	 highReportDataExport;
/**
     * 指标展示与导出数据层级
     */
    @ApiModelProperty("指标展示与导出数据层级")
    private String	 objectiveDisplayAndExportData;
/**
     * 预算金额展示类型 DISPLAY_ONE_TARGET_CATE:一级目标分类 DISPLAY_CATE_TREE:目标分类树
     */
    @ApiModelProperty("预算金额展示类型")
    private String	 budgetDisplayType;
/**
     * 预算大屏展示版本 BUDGET_MINI_VERSION:预算mini版 BUDGET_BASIC_VERSION:预算基础版 BUDGET_ADVANCED_VERSION:预算高级版
     */
    @ApiModelProperty("预算大屏展示版本")
    private String	 budgetDisplayVersion;

}
